
public interface HashTabulka {
	/**
	 * Vlozi prvek h do hashtabulky
	 * @param h prvek k vlozeni
	 * @throws AlreadyInTable pokud prvek se stejnym klicem uz je v tabulce
	 */
	public void push(Hashable h) throws AlreadyInTable;
	
	/**
	 * Vrati prvek s klicem key
	 * @param key klic ktery chceme hledat
	 * @return null pokud nenalezen a hashable instanci pokud nalezen
	 */
	public Hashable get(String key) throws NotFound;
	
	/**
	 * Odstrani prvek z tabulky
	 * @param key klic prvku
	 */
	public void remove(String key);

	/**
	 * Vrati vsechny prvky z tabulky v poli
	 * 
	 * @return pole prvku
	 */
	public Hashable[] toArray();
}


